package com.lcj.bff.driver.service;

import com.lcj.bff.driver.controller.form.*;
import com.lcj.common.util.Result;

import java.util.HashMap;
import java.util.Map;

/**
 * @Author : lcj
 * @create 2022/11/3 21:51
 */
public interface DriverService {

    /**
     * 查询司机是否允许开始接单
     * @param form
     * @return
     */
    HashMap searchCanStartWork(SearchCanStartWorkForm form);

    /**
     * 注册新司机
     * @param form
     * @return
     */
    public Result registerNewDriver(RegisterNewDriverForm form);

    /**
     * 更新司机信息
     * @param form
     * @return
     */
    public int updateDriverAuth(UpdateDriverAuthForm form);

    /**
     * 创建司机人脸信息模型
     * @param form
     * @return
     */
    public String createDriverFaceModel(CreateDriverFaceModelForm form);

    /**
     * 登录
     * @param form
     * @return
     */
    public HashMap login(LoginForm form);

    /**
     * 查询司机信息
     * @param form
     * @return
     */
    public HashMap searchDriverBaseInfo(DriverIdForm form);

    /**
     * 查询司机工作台首页数据
     * @param driverId
     * @return
     */
    public HashMap searchWorkbenchData(long driverId);

    /**
     * 查询司机实名信息
     * @param form
     * @return
     */
    public HashMap searchDriverAuth(DriverIdForm form);

    /**
     * 更新司机设置
     * @param form
     * @return
     */
    public Result updateDriverSettings(DriverSettingsForm form);

    public Result recharge(DriverRechargeForm form);

    Map searchInfo(DriverWalletInfoForm form);

    Result updatePhone(UpdatePhoneForm form);

    /**
     * 发送验证码
     * @param form
     * @return
     */
    Result sendSmsCode(DriverSendSmsForm form);

    /**
     * 更新司机家
     * @param form
     * @return
     */
    Result updateDriverHome(UpdateDriverHomeForm form);


    String vertificateDriverFace(CreateDriverFaceModelForm form);
}